﻿/*************************************
 * 
 * @file def.h
 * @brief 公共头文件
 * @author H00015
 * @date 2022-03-29 10:18:33
 * @note 通用数据结构和枚举头文件
 * 
 *************************************/

#ifndef DEF_H
#define DEF_H

#include <QObject>
#include <QString>


#define     DEFAULT_SLIDESHOW_INTERVAL      (5)     //默认幻灯片间隔5秒


//设置是否显示加载进度条
#define     SHOW_PROGRESS_BAR               0       //0：不显示    1：显示

//图片比例规则
enum RatioRule
{
    RR_KeepRatio        = 0,     //保持原图比例，默认值
    RR_IgnoreRatio      = 1,     //不保持原图比例


};

//图片尺寸规则
enum SizeRule
{
    SR_FillUpAsPossible = 0,    //尽可能填满，当图片尺寸小于视口时，填满
    SR_KeepSizePossible = 1,    //尽可能保持原尺寸大小。当图片尺寸小于视口时，保持图片大小，默认值
};


//幻灯片模式
enum SlideMode
{
    SM_Random = 0, //随机
    SM_InTurn = 1, //顺序，默认值
};


enum OperationType
{
    OT_NULL = 0,        //空，默认无效值
    OT_CREATETABLE,     //建表
    OT_ADDDIR,          //添加目录
    OT_REMOVEDIR,       //移除目录
    //OT_UPDATE_IMAGES,   //更新图片列表
    OT_NEXT,            //后一张
    OT_PREVIOUS,        //前一张
    //OT_GETCOUNT,        //获取记录数量
};

//数据库请求信息
class DBOperationInfo
{
public:
    OperationType type;         //操作类型
    QString strDir;             //目录
    //bool bRecursive;            //是否递归，暂时不允许递归，此字段无效

    DBOperationInfo(OperationType type = OT_NULL)
        : type(type)
        //, bRecursive(false)
    {}
};
Q_DECLARE_METATYPE(DBOperationInfo)


#endif // !DEF_H